students_list = [
    {'id': '001', 'name': '马云', 'age': '30', 'gender': '男', 'address': '阿里巴巴总部', 'mobile': '18888888888'},
    {'id': '002', 'name': '马化腾', 'age': '28', 'gender': '男', 'address': '北京腾旭总公司', 'mobile': '17777777777'},
    {'id': '003', 'name': '马未都', 'age': '58', 'gender': '男', 'address': '未都私人博物馆', 'mobile': '18666666666'},
    {'id': '004', 'name': '马伊利', 'age': '26', 'gender': '女', 'address': '上海虹口区', 'mobile': '13555555555'},
    {'id': '005', 'name': '马丽', 'age': '23', 'gender': '女', 'address': '北京开心麻花传媒有限公司', 'mobile': '139999999999'},
]

banner = '''
***********秦皇岛职业技术学院学生管理系统************
        
        1、查询学生信息
        2、添加学生信息
        3、修改学生信息
        4、删除学生信息
        q、退出学生系统

'''
while True:
    print (banner)
    operation = input ('请输入您要进行的操作符：')
    if operation == '1':
        # 1、 查询学生信息
        id_name = input ('请输入您要查询的学生编号或者姓名：').strip ()
        print ()
        for itme in students_list:
            if id_name == itme['id'] or id_name == itme['name']:
                print (
                    f'学号：{itme["id"]}\t姓名：{itme["name"]}\n年龄：{itme["age"]}\t\t性别：{itme["gender"]}\n电话号码：{itme["mobile"]}\n通讯地址：{itme["address"]}')
                break
        else:
            print ('您查找的学生信息不存在！')
    elif operation == '2':
        # 2、添加学生信息
        id = f'00{len (students_list) + 1}'  # 自动添加id，找到列表的长度，再加一
        name = input ('请输入学生姓名：').strip ()
        age = input ('请输入学生年龄：').strip ()
        gender = input ('请输入学生性别：').strip ()
        address = input ('请输入学生通讯地址：').strip ()
        mobile = input ('请输入学生电话号码：').strip ()
        new_student = {'id': id, 'name': name, 'age': age, 'gender': gender, 'address': address, 'mobile': mobile}
        students_list.append (new_student)
        print (f'学生【{name}】信息添加成功')
    elif operation == '3':
        # 3、修改学生信息
        #  让用户提供一个编号或者姓名
        id_name = input ('请输入您要修改的学生编号或者姓名：').strip ()
        #  根据这个编号或者姓名去遍历学生列表，从中找到这条记录
        for student in students_list:
            if id_name == student['id'] or id_name == student['name']:
                # 重新录入信息
                age = input ('请输入学生年龄：').strip ()
                gender = input ('请输入学生性别：').strip ()
                address = input ('请输入学生通讯地址：').strip ()
                mobile = input ('请输入学生电话号码：').strip ()
                student['gender'] = gender
                student['age'] = age
                student['address'] = address
                student['mobile'] = mobile
    elif operation == '4':
        # 4、删除学生信息
        id_name = input ('请输入您要删除的学生编号或者姓名：').strip ()
        #  根据这个编号或者姓名去遍历学生列表，从中找到这条记录

        for i, student in enumerate (students_list):  # 使用枚举的方式遍历，方便我们拿到列表的索引
            if id_name == student['name'] or id_name == student['id']:
                # 用一个变量再去接收一个
                is_del = input (f'您确定要删除【{student["name"]}】这条记录吗？y/n')
                if is_del.upper () == 'Y':
                    del students_list[i]
                else:
                    print ('请重新选择您需要的操作')

    elif operation == 'q':
        # 5、退出信息系统
        print ('再见！欢迎下次再使用本系统！')
        exit ()  # 退出程序运行
        # break
    else:
        print ('您输入的操作符有误，请重新输入')
